查看原文
其他

Spring Boot中增强对MongoDB的配置(连接池等)

翟永超 程序猿DD 2019-07-13

之前在博客上转载了一篇关于《如何在Spring Boot中是配置MongoDB的连接数》的文章,相信关注我博客的朋友们肯定也看过了。这篇文章的作者主要重写了 MongoDbFactory的构建来完成,整体实现的过程还是有一点点小小的复杂。本文就来具体说说如何更简单的来实现对MongoDB的更多配置定制。

spring-boot-starter-mongodb-plus

几周之前,我就在spring4all的github上创建了这个项目,主要就是想扩展一下官方spring boot starter对mongodb的支持,提供更多配置属性,比如:连接数的配置等。

先来看看如果使用这个扩展,是否要比之前那样自己定制要方便的多:

如何使用

1. 在使用了 spring-boot-starter-data-mongodb的项目中,增加以下依赖


  1. <dependency>

  2.    <groupId>com.spring4all</groupId>

  3.    <artifactId>mongodb-plus-spring-boot-starter</artifactId>

  4.    <version>1.0.0.RELEASE</version>

  5. </dependency>


2. 在应用主类上增加 @EnableMongoPlus注解,比如:


  1. @EnableMongoPlus

  2. @SpringBootApplication

  3. public class Application {

  4.    public static void main(String[] args) {

  5.        SpringApplication.run(Application.class, args);

  6.    }

  7. }

支持的配置参数

可配置参数如下:

  1. spring.data.mongodb.option.min-connection-per-host=0

  2. spring.data.mongodb.option.max-connection-per-host=100

  3. spring.data.mongodb.option.threads-allowed-to-block-for-connection-multiplier=5

  4. spring.data.mongodb.option.server-selection-timeout=30000

  5. spring.data.mongodb.option.max-wait-time=120000

  6. spring.data.mongodb.option.max-connection-idle-time=0

  7. spring.data.mongodb.option.max-connection-life-time=0

  8. spring.data.mongodb.option.connect-timeout=10000

  9. spring.data.mongodb.option.socket-timeout=0

  10. spring.data.mongodb.option.socket-keep-alive=false

  11. spring.data.mongodb.option.ssl-enabled=false

  12. spring.data.mongodb.option.ssl-invalid-host-name-allowed=false

  13. spring.data.mongodb.option.always-use-m-beans=false

  14. spring.data.mongodb.option.heartbeat-socket-timeout=20000

  15. spring.data.mongodb.option.heartbeat-connect-timeout=20000

  16. spring.data.mongodb.option.min-heartbeat-frequency=500

  17. spring.data.mongodb.option.heartbeat-frequency=10000

  18. spring.data.mongodb.option.local-threshold=15

上述所配置的值均为默认值

后记

如果您觉得该项目对您有用,欢迎给予Star支持:https://github.com/SpringForAll/spring-boot-starter-mongodb-plus/

同时也欢迎关注我的:

  • Github: https://github.com/dyc87112/

  • 博客: http://blog.didispace.com/


之前发布的简陋版Spring Cloud服务管理开源项目Isona还在缓慢开发中,敬请期待:https://github.com/SpringForAll/isona

推荐阅读


长按指纹

一键关注

深入交流、更多福利

扫码加入我的知识星球



点击 “阅读原文” 看看本号其他精彩内容

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存